package simpledb;

/**
 * 解析异常类，用于表示在查询解析或查询优化过程中发生的异常。
 * 当解析SQL语句、验证表结构、检查连接计划等操作出现错误时抛出此类异常。
 */
public class ParsingException extends RuntimeException {

    /**
     * 构造函数，使用指定的错误信息创建一个解析异常对象。
     *
     * @param string 描述错误原因的字符串信息
     */
    public ParsingException(String string) {
        super(string); // 调用父类Exception的构造方法，设置错误信息
    }

    /**
     * 构造函数，使用另一个异常对象来创建解析异常。
     * 通常用于将底层异常包装成ParsingException，便于统一处理。
     *
     * @param e 引发的原始异常对象
     */
    public ParsingException(Exception e) {
        super(e); // 将传入的异常作为原因传递给父类构造器
    }

    /**
     * 序列化版本唯一标识符，确保反序列化时兼容性。
     * 避免因类结构变化导致的InvalidClassException。
     */
    private static final long serialVersionUID = 1L;
}
